{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "0b9ffbb2-8d33-eb0c-5a42-0733bdc3b74b",
    "_uuid": "e14f65723f5ac826104e861c45e58525740d8b2a"
   },
   "source": [
    "# Bikeshare数据集上的数据探索\n",
    "\n",
    "1、\t任务描述\n",
    "请在Capital Bikeshare （美国Washington, D.C.的一个共享单车公司）提供的自行车数据上进行回归分析。根据每天的天气信息，预测该天的单车共享骑行量。\n",
    "\n",
    "原始数据集地址：http://archive.ics.uci.edu/ml/datasets/Bike+Sharing+Dataset\n",
    "1)\t文件说明\n",
    "day.csv: 按天计的单车共享次数（作业只需使用该文件）\n",
    "hour.csv: 按小时计的单车共享次数（无需理会）\n",
    "readme：数据说明文件\n",
    "\n",
    "2)\t字段说明\n",
    "Instant记录号\n",
    "Dteday：日期\n",
    "Season：季节（1=春天、2=夏天、3=秋天、4=冬天）\n",
    "yr：年份，(0: 2011, 1:2012)\n",
    "mnth：月份( 1 to 12)\n",
    "hr：小时 (0 to 23)  （只在hour.csv有，作业忽略此字段）\n",
    "holiday：是否是节假日\n",
    "weekday：星期中的哪天，取值为0～6\n",
    "workingday：是否工作日\n",
    "1=工作日 （是否为工作日，1为工作日，0为非周末或节假日\n",
    "weathersit：天气（1：晴天，多云 ",
    "2：雾天，阴天 ",
    "3：小雪，小雨 ",
    "4：大雨，大雪，大雾）\n",
    "temp：气温摄氏度\n",
    "atemp：体感温度\n",
    "hum：湿度\n",
    "windspeed：风速\n",
    "casual：非注册用户个数\n",
    "registered：注册用户个数\n",
    "cnt：给定日期（天）时间（每小时）总租车人数，响应变量y （cnt = casual + registered）\n",
    "\n",
    "casual、registered和cnt三个特征均为要预测的y，作业里只需对cnt进行预测"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 导入必要的工具包"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "_cell_guid": "2ba3154a-c2aa-3158-1984-63ad2c0c786a",
    "_uuid": "5eb696b95780825e94ddb49787f9fa339fc3833b"
   },
   "outputs": [],
   "source": [
    "# 数据读取及基本处理\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "# plotting\n",
    "import seaborn as sn\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "# setting params\n",
    "params = {'legend.fontsize': 'x-large',\n",
    "          'figure.figsize': (30, 10),\n",
    "          'axes.labelsize': 'x-large',\n",
    "          'axes.titlesize':'x-large',\n",
    "          'xtick.labelsize':'x-large',\n",
    "          'ytick.labelsize':'x-large'}\n",
    "\n",
    "sn.set_style('whitegrid')\n",
    "sn.set_context('talk')\n",
    "\n",
    "plt.rcParams.update(params)\n",
    "pd.options.display.max_colwidth = 600\n",
    "\n",
    "# pandas display data frames as tables\n",
    "from IPython.display import display, HTML"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 读入数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "_cell_guid": "21fa35be-878b-b4f2-ef6e-68dc070b8bfa",
    "_uuid": "73aee228226be55c0c8a6e4fcbf818c56cd94926",
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>dteday</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>casual</th>\n",
       "      <th>registered</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>2011-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.344167</td>\n",
       "      <td>0.363625</td>\n",
       "      <td>0.805833</td>\n",
       "      <td>0.160446</td>\n",
       "      <td>331</td>\n",
       "      <td>654</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>2011-01-02</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363478</td>\n",
       "      <td>0.353739</td>\n",
       "      <td>0.696087</td>\n",
       "      <td>0.248539</td>\n",
       "      <td>131</td>\n",
       "      <td>670</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>2011-01-03</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.196364</td>\n",
       "      <td>0.189405</td>\n",
       "      <td>0.437273</td>\n",
       "      <td>0.248309</td>\n",
       "      <td>120</td>\n",
       "      <td>1229</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>2011-01-04</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.212122</td>\n",
       "      <td>0.590435</td>\n",
       "      <td>0.160296</td>\n",
       "      <td>108</td>\n",
       "      <td>1454</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>2011-01-05</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.226957</td>\n",
       "      <td>0.229270</td>\n",
       "      <td>0.436957</td>\n",
       "      <td>0.186900</td>\n",
       "      <td>82</td>\n",
       "      <td>1518</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant      dteday  season  yr  mnth  holiday  weekday  workingday  \\\n",
       "0        1  2011-01-01       1   0     1        0        6           0   \n",
       "1        2  2011-01-02       1   0     1        0        0           0   \n",
       "2        3  2011-01-03       1   0     1        0        1           1   \n",
       "3        4  2011-01-04       1   0     1        0        2           1   \n",
       "4        5  2011-01-05       1   0     1        0        3           1   \n",
       "\n",
       "   weathersit      temp     atemp       hum  windspeed  casual  registered  \\\n",
       "0           2  0.344167  0.363625  0.805833   0.160446     331         654   \n",
       "1           2  0.363478  0.353739  0.696087   0.248539     131         670   \n",
       "2           1  0.196364  0.189405  0.437273   0.248309     120        1229   \n",
       "3           1  0.200000  0.212122  0.590435   0.160296     108        1454   \n",
       "4           1  0.226957  0.229270  0.436957   0.186900      82        1518   \n",
       "\n",
       "    cnt  \n",
       "0   985  \n",
       "1   801  \n",
       "2  1349  \n",
       "3  1562  \n",
       "4  1600  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 读入数据\n",
    "train = pd.read_csv(\"day.csv\")\n",
    "train.head()\n",
    "#print(\"train : \" + str(train.shape))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 731 entries, 0 to 730\n",
      "Data columns (total 16 columns):\n",
      "instant       731 non-null int64\n",
      "dteday        731 non-null object\n",
      "season        731 non-null int64\n",
      "yr            731 non-null int64\n",
      "mnth          731 non-null int64\n",
      "holiday       731 non-null int64\n",
      "weekday       731 non-null int64\n",
      "workingday    731 non-null int64\n",
      "weathersit    731 non-null int64\n",
      "temp          731 non-null float64\n",
      "atemp         731 non-null float64\n",
      "hum           731 non-null float64\n",
      "windspeed     731 non-null float64\n",
      "casual        731 non-null int64\n",
      "registered    731 non-null int64\n",
      "cnt           731 non-null int64\n",
      "dtypes: float64(4), int64(11), object(1)\n",
      "memory usage: 91.5+ KB\n"
     ]
    }
   ],
   "source": [
    "train.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "#train.dtypes"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "没有缺失数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "be11c1c7-acfe-cb9a-bc81-95d461b884c5",
    "_uuid": "b53750ea6a3a2a02aa4297f5401e29c2f4d92e31"
   },
   "source": [
    "## 数据探索"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>casual</th>\n",
       "      <th>registered</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>366.000000</td>\n",
       "      <td>2.496580</td>\n",
       "      <td>0.500684</td>\n",
       "      <td>6.519836</td>\n",
       "      <td>0.028728</td>\n",
       "      <td>2.997264</td>\n",
       "      <td>0.683995</td>\n",
       "      <td>1.395349</td>\n",
       "      <td>0.495385</td>\n",
       "      <td>0.474354</td>\n",
       "      <td>0.627894</td>\n",
       "      <td>0.190486</td>\n",
       "      <td>848.176471</td>\n",
       "      <td>3656.172367</td>\n",
       "      <td>4504.348837</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>211.165812</td>\n",
       "      <td>1.110807</td>\n",
       "      <td>0.500342</td>\n",
       "      <td>3.451913</td>\n",
       "      <td>0.167155</td>\n",
       "      <td>2.004787</td>\n",
       "      <td>0.465233</td>\n",
       "      <td>0.544894</td>\n",
       "      <td>0.183051</td>\n",
       "      <td>0.162961</td>\n",
       "      <td>0.142429</td>\n",
       "      <td>0.077498</td>\n",
       "      <td>686.622488</td>\n",
       "      <td>1560.256377</td>\n",
       "      <td>1937.211452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.059130</td>\n",
       "      <td>0.079070</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.022392</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>20.000000</td>\n",
       "      <td>22.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>183.500000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.337083</td>\n",
       "      <td>0.337842</td>\n",
       "      <td>0.520000</td>\n",
       "      <td>0.134950</td>\n",
       "      <td>315.500000</td>\n",
       "      <td>2497.000000</td>\n",
       "      <td>3152.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>366.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.498333</td>\n",
       "      <td>0.486733</td>\n",
       "      <td>0.626667</td>\n",
       "      <td>0.180975</td>\n",
       "      <td>713.000000</td>\n",
       "      <td>3662.000000</td>\n",
       "      <td>4548.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>548.500000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.655417</td>\n",
       "      <td>0.608602</td>\n",
       "      <td>0.730209</td>\n",
       "      <td>0.233214</td>\n",
       "      <td>1096.000000</td>\n",
       "      <td>4776.500000</td>\n",
       "      <td>5956.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>731.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>12.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>0.861667</td>\n",
       "      <td>0.840896</td>\n",
       "      <td>0.972500</td>\n",
       "      <td>0.507463</td>\n",
       "      <td>3410.000000</td>\n",
       "      <td>6946.000000</td>\n",
       "      <td>8714.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          instant      season          yr        mnth     holiday     weekday  \\\n",
       "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
       "mean   366.000000    2.496580    0.500684    6.519836    0.028728    2.997264   \n",
       "std    211.165812    1.110807    0.500342    3.451913    0.167155    2.004787   \n",
       "min      1.000000    1.000000    0.000000    1.000000    0.000000    0.000000   \n",
       "25%    183.500000    2.000000    0.000000    4.000000    0.000000    1.000000   \n",
       "50%    366.000000    3.000000    1.000000    7.000000    0.000000    3.000000   \n",
       "75%    548.500000    3.000000    1.000000   10.000000    0.000000    5.000000   \n",
       "max    731.000000    4.000000    1.000000   12.000000    1.000000    6.000000   \n",
       "\n",
       "       workingday  weathersit        temp       atemp         hum   windspeed  \\\n",
       "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
       "mean     0.683995    1.395349    0.495385    0.474354    0.627894    0.190486   \n",
       "std      0.465233    0.544894    0.183051    0.162961    0.142429    0.077498   \n",
       "min      0.000000    1.000000    0.059130    0.079070    0.000000    0.022392   \n",
       "25%      0.000000    1.000000    0.337083    0.337842    0.520000    0.134950   \n",
       "50%      1.000000    1.000000    0.498333    0.486733    0.626667    0.180975   \n",
       "75%      1.000000    2.000000    0.655417    0.608602    0.730209    0.233214   \n",
       "max      1.000000    3.000000    0.861667    0.840896    0.972500    0.507463   \n",
       "\n",
       "            casual   registered          cnt  \n",
       "count   731.000000   731.000000   731.000000  \n",
       "mean    848.176471  3656.172367  4504.348837  \n",
       "std     686.622488  1560.256377  1937.211452  \n",
       "min       2.000000    20.000000    22.000000  \n",
       "25%     315.500000  2497.000000  3152.000000  \n",
       "50%     713.000000  3662.000000  4548.000000  \n",
       "75%    1096.000000  4776.500000  5956.000000  \n",
       "max    3410.000000  6946.000000  8714.000000  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#对数据值型特征，用常用统计量观察其分布\n",
    "train.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. 离散特征的分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "season属性的不同取值和出现的次数\n",
      "3    188\n",
      "2    184\n",
      "1    181\n",
      "4    178\n",
      "Name: season, dtype: int64\n",
      "\n",
      "mnth属性的不同取值和出现的次数\n",
      "12    62\n",
      "10    62\n",
      "8     62\n",
      "7     62\n",
      "5     62\n",
      "3     62\n",
      "1     62\n",
      "11    60\n",
      "9     60\n",
      "6     60\n",
      "4     60\n",
      "2     57\n",
      "Name: mnth, dtype: int64\n",
      "\n",
      "weathersit属性的不同取值和出现的次数\n",
      "1    463\n",
      "2    247\n",
      "3     21\n",
      "Name: weathersit, dtype: int64\n",
      "\n",
      "weekday属性的不同取值和出现的次数\n",
      "6    105\n",
      "1    105\n",
      "0    105\n",
      "5    104\n",
      "4    104\n",
      "3    104\n",
      "2    104\n",
      "Name: weekday, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "#对类别型特征，观察其取值范围及直方图\n",
    "categorical_features = ['season','mnth','weathersit','weekday']\n",
    "for col in categorical_features:\n",
    "    print ('\\n%s属性的不同取值和出现的次数'%col)\n",
    "    print (train[col].value_counts())\n",
    "    train[col] = train[col].astype('object')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# train['season'] = train.season.astype('category')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "类别型特征的取值不多\n",
    "类别型特征可以采用独热编码（One hot encoding）/哑编码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "yr属性的不同取值和出现的次数\n",
      "1    366\n",
      "0    365\n",
      "Name: yr, dtype: int64\n",
      "\n",
      "holiday属性的不同取值和出现的次数\n",
      "0    710\n",
      "1     21\n",
      "Name: holiday, dtype: int64\n",
      "\n",
      "workingday属性的不同取值和出现的次数\n",
      "1    500\n",
      "0    231\n",
      "Name: workingday, dtype: int64\n",
      "\n",
      "weekday属性的不同取值和出现的次数\n",
      "6    105\n",
      "1    105\n",
      "0    105\n",
      "5    104\n",
      "4    104\n",
      "3    104\n",
      "2    104\n",
      "Name: weekday, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "categorical_features_1 = ['yr','holiday','workingday','weekday']\n",
    "for col in categorical_features_1:\n",
    "    print ('\\n%s属性的不同取值和出现的次数'%col)\n",
    "    print (train[col].value_counts())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. 数值特征的分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[<matplotlib.axes._subplots.AxesSubplot object at 0x000002DDAE842550>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x000002DDAE8BF710>],\n",
       "       [<matplotlib.axes._subplots.AxesSubplot object at 0x000002DDAE8F6048>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x000002DDAE9209E8>]],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#对数值型特征，直方图\n",
    "numerical_features = ['temp','atemp','hum','windspeed']\n",
    "train[numerical_features].hist()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. 特征与目标之间的关系"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3.1 每年骑行量的分布\n",
    "violinplot中用x表示类别（年）信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2ddaea2b1d0>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sn.violinplot(data=train[['yr',\n",
    "                        'cnt']],\n",
    "              x=\"yr\",y=\"cnt\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2011年和2012年的分布差异很大"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3.2 一年中每天的骑车量\n",
    "用颜色参数hue表示类别（年）信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "import datetime\n",
    "\"\"\"\n",
    "这段代码报错，原因不明，后续有时间解决，因为不重要掠过\n",
    "\"\"\"\n",
    "\n",
    "train['date'] = pd.to_datetime(train['dteday'])\n",
    "train['dayofyear'] = train[\"date\"].dt.dayofyear  #减今年的第几天\n",
    "\n",
    "\"\"\"\n",
    "fig,ax = plt.subplots()的意思是，建立一个fig对象，建立一个axis对象。不然要用更复杂的方式来建如下：\n",
    "fig=plt.figure()\n",
    "ax=fig.add_subplot(111)\n",
    "\n",
    "fig, ax = plt.subplots(1,3),其中参数1和3分别代表子图的行数和列数，一共有 1x3 个子图像。函数返回一个figure图像和子图ax的array列表。\n",
    "fig, ax = plt.subplots(1,3,1),最后一个参数1代表第一个子图。\n",
    "如果想要设置子图的宽度和高度可以在函数内加入figsize值\n",
    "fig, ax = plt.subplots(1,3,figsize=(15,7))，这样就会有1行3个15x7大小的子图。\n",
    "控制子图\n",
    "方法1：通过plt控制子图\n",
    "方法2：通过ax控制子图\n",
    "# Creates two subplots and unpacks the output array immediately\n",
    "fig = plt.figure()\n",
    "ax1, ax2 = fig.subplots(1, 2, sharey=True)\n",
    "ax1.plot(x, y)\n",
    "ax1.set_title('Sharing Y axis')\n",
    "ax2.scatter(x, y)\n",
    "\n",
    "# Creates four polar axes, and accesses them through the\n",
    "# returned array\n",
    "axes = fig.subplots(2, 2, subplot_kw=dict(polar=True))\n",
    "axes[0, 0].plot(x, y)\n",
    "axes[1, 1].scatter(x, y)\n",
    "（1） 单行单列，按照一维数组来表示\n",
    "# 定义fig\n",
    "fig = plt.figure()\n",
    "# 建立子图\n",
    "ax = fig.subplots(2,1)    # 2*1\n",
    "# 第一个图为\n",
    "ax[0].plot([1,2], [3,4])\n",
    "# 第二个图为\n",
    "ax[1].plot([1,2], [3,4])\n",
    "（2） 多行多列，按照二维数组来表示\n",
    "# 定义fig\n",
    "fig = plt.figure()\n",
    "# 建立子图\n",
    "ax = fig.subplots(2,2)    # 2*2\n",
    "# 第一个图为\n",
    "ax[0,1].plot([1,2], [3,4])\n",
    "# 第二个图为\n",
    "ax[0,1].plot([1,2], [3,4])\n",
    "# 第三个图为\n",
    "ax[1,0].plot([1,2], [3,4])\n",
    "# 第四个图为\n",
    "ax[1,1].plot([1,2], [3,4])\n",
    "\"\"\"\n",
    "fig,ax = plt.subplots()\n",
    "sn.pointplot(data=train[['dayofyear',\n",
    "                           'cnt',\n",
    "                           'yr']],\n",
    "             x='dayofyear',y='cnt',\n",
    "             hue='yr',ax=ax)\n",
    "ax.set(title=\"dayly distribution of counts\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "每年开始和结束的数量少，中间多，骑行量和季节/月份有关"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3.3 季节与骑车数量的关系\n",
    "violinplot得到详细分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2ddae969f60>"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sn.violinplot(data=train[['season',\n",
    "                        'cnt']],\n",
    "              x=\"season\",y=\"cnt\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "能看出来每个季节骑行量的分布不同\n",
    "barplot利用矩阵条的高度反映数值变量的集中趋势，以及使用errorbar功能（差棒图）来估计变量之间的差值统计。\n",
    "谨记barplot展示的是某种变量分布的平均值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0.5, 1.0, 'Seasonly distribution of counts')]"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots()\n",
    "sn.barplot(data=train[['season',\n",
    "                       'cnt']],\n",
    "           x=\"season\",y=\"cnt\")\n",
    "ax.set(title=\"Seasonly distribution of counts\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "骑行量和季节的关系就很明显了：第2、3、4季度的骑行量明显高于第1季度"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3.4 月份与骑车数量的关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0.5, 1.0, 'Monthly distribution of counts')]"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots()\n",
    "sn.barplot(data=train[['mnth',\n",
    "                       'cnt']],\n",
    "           x=\"mnth\",y=\"cnt\")\n",
    "ax.set(title=\"Monthly distribution of counts\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3.5 天气和骑车数目的关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0.5, 1.0, 'weathersit distribution of counts')]"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots()\n",
    "sn.barplot(data=train[['weathersit',\n",
    "                       'cnt']],\n",
    "           x=\"weathersit\",y=\"cnt\")\n",
    "ax.set(title=\"weathersit distribution of counts\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3.6 工作日和节假日的分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2ddaee97b70>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,(ax1,ax2) = plt.subplots(ncols=2)\n",
    "sn.barplot(data=train,x='holiday',y='cnt',ax=ax1)\n",
    "sn.barplot(data=train,x='workingday',y='cnt',ax=ax2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3.7 数值型特征和y之间的相关性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2ddaf444748>"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "corrMatt = train[[\"temp\",\"atemp\",\n",
    "                  \"hum\",\"windspeed\",\n",
    "                  \"casual\",\"registered\",\n",
    "                  \"cnt\"]].corr()\n",
    "mask = np.array(corrMatt)\n",
    "mask[np.tril_indices_from(mask)] = False\n",
    "sn.heatmap(corrMatt, mask=mask,\n",
    "           vmax=.8, square=True,annot=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "体感温度和温度高度相关\n",
    "目标cnt与温度正相关、湿度和风速负相关"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "_change_revision": 0,
  "_is_fork": false,
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
